package com.hua.designpattern.j2eepattern.mvc;

/**
 * 
 * @author joshua
 *
 *         <pre>
 *   MVC全名是Model View Controller，是模型(model)－视图(view)－控制器(controller)的缩写，
 *   	一种软件设计典范，用一种业务逻辑、数据、界面显示分离的方法组织代码，将业务逻辑聚集到一个部件里面，在改进和个性化定制界面及用户交互的同时，不需要重新编写业务逻辑。
 *   
 *   MVC设计模式不同于MVC架构，但思想一致,都是实现数据展示和数据业务的分离。
 *     M: 处理数据的业务
 *     V：  展示数据
 *     C: 控制数据的业务和数据的展示,连接 M 和 V ,没有业务和展示的具体实现。
 * 
 *         </pre>
 *
 */

public class TestMVC {

	public static void main(String[] args) {
		UserController controller = new UserController(retriveData(), new UserView());
		controller.showView();

		controller.setMale(false);
		controller.setUserName("test name2");
		controller.setPassWord("222222");
		controller.showView();
	}

	private static UserModel retriveData() {
		UserModel userModel = new UserModel();
		userModel.setId(101);
		userModel.setMale(true);
		userModel.setPassWord("111111");
		userModel.setUserName("test name1");
		return userModel;

	}

}
